Optical disc player system and method of controlling a decoding unit in the optical disc player system to read encoded bitstream data from a buffer memory

ABSTRACT

A data processing apparatus for decoding a bitstream includes a channel decoder, a demultiplexer and a plurality of decoders. The channel decoder is used for generating an encoded bitstream data from a received channel data and storing the encoded bitstream data to a buffer, wherein the encoded bitstream contains a plurality types of sectors. The demultiplexer is used for rearranging the stored encoded bitstream data according to the plurality of types and storing sectors corresponding to the same bitstream type in respective regions in the buffer. The decoders are used for decoding the sectors corresponding to the bitstream types, the decoders retrieving the rearranged data from the buffer according to corresponding one of the plurality of types.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of the co-pending U.S. applicationSer. No. 12/471,408, which is a continuation of U.S. application Ser.No. 11/279,253 (which is a continuation-in-part of U.S. application Ser.No. 10/376,443 (expressly abandoned during examination)). The entirecontents of these related applications are incorporated herein byreference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to optical disc player systems and a method forcontrolling a decoding unit to read data from a memory device, moreparticularly to an optical disc player system and a method ofcontrolling a decoding unit in the optical disc player system to readencoded bitstream data from a buffer memory, and an optical disc playersystem capable of saving the memory bandwidth between a bitstreamdemultiplexer and a memory.

2. Description of the Prior Art

FIG. 1 illustrates a conventional DVD player system 1 that includes achannel decoder 11 for reading and error-correcting the encodedbitstream data from a disc, a track buffer 13 connected to the channeldecoder 11 via a memory interface 15 for storing error-correctedbitstream data from the channel decoder 11, a source decoder 12connected to the channel decoder 11 for decoding the bitstream data fromthe channel decoder 11, and a source buffer 14 connected to the sourcedecoder 12 via a memory interface 16 for storing decoded video and audiodata from the source decoder 12. In an actual design, the channeldecoder 11 and the source decoder 12 are implemented using two separatechips, thereby resulting in a relatively high cost. In order to reducecosts, there is provided a combined chip integrated with the aforesaidfunctions of the channel and source decoders.

FIG. 2 illustrates another DVD player system 2 that includes a decodingunit 21 having a channel decoder 11′ and a source decoder 12′. Theintegrated decoding unit 21 performs functions the same as those in thesystem of FIG. 1, and a combined buffer memory 22 connected to thedecoding unit 21 via a memory interface 23. Referring to FIG. 3, thebuffer memory 22 includes a track buffer 221 for storing data from adisc, and a bitstream buffer 222 for storing demultiplexed bitstreamdata processed by a bitstream demultiplexer 24 and decoded video andaudio data for playback. The decoding unit 12′ includes an audio decoder121, a video decoder 122, a sub-picture decoder 123 and a navigationdecoder 124. During a decoding procedure, the bitstream demultiplexer 24reads encoded bitstream data from the track buffer 221 of the buffermemory 221 via the memory interface 23. After error-correcting anddemultiplexing of the encoded bitstream data, the demultiplexedbitstream data is transferred to the bitstream buffer 222 of the buffermemory 22 via the memory interface 23. The decoders 121, 122, 123, 124read the demultiplexed bitstream data stored in the bitstream buffer 222of the buffer memory 22 for decoding via the memory interface 23. Assuch, the buffer memory 22 in the conventional system 2 of FIG. 2 mustprovide a large bandwidth for channel decoding and source decoding,thereby resulting in relatively high costs and power consumption.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide an opticaldisc player system and a method of controlling a decoding unit in theoptical disc player system to read encoded bitstream data from a buffermemory that can reduce the memory bandwidth requirement so as to resultin relatively low costs and power consumption. Another object of thepresent invention is to provide an optical disc player system capable ofsaving the memory bandwidth between a bitstream demultiplexer and amemory.

According to a first aspect of the present invention, a data processingapparatus for decoding a bitstream is disclosed. The data processingapparatus includes a channel decoder, a demultiplexer and a plurality ofdecoders. The channel decoder is used for generating an encodedbitstream data from a received channel data and storing the encodedbitstream data to a buffer, wherein the encoded bitstream contains aplurality types of sectors. The demultiplexer is used for rearrangingthe stored encoded bitstream data according to the plurality of typesand storing sectors corresponding to the same bitstream type inrespective regions in the buffer. The decoders are used for decoding thesectors corresponding to the bitstream types, the decoders retrievingthe rearranged data from the buffer according to corresponding one ofthe plurality of types.

According to a second aspect of the present invention, a method fordecoding a bitstream has the following steps: (a) generating an encodedbitstream data from a received channel data and storing the encodedbitstream data to a buffer, wherein the encoded bitstream contains aplurality types of sectors; (b) rearranging the stored encoded bitstreamdata according to the plurality of types and storing sectorscorresponding to the same bitstream type in respective regions in thebuffer; (c) retrieving the rearranged data from the buffer according tocorresponding one of the plurality of types; and (d) decoding thesectors corresponding to the bitstream types by a plurality of decoders.

These and other objectives of the present invention will no doubt becomeobvious to those of ordinary skill in the art after reading thefollowing detailed description of the preferred embodiment that isillustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Other features and advantages of the present invention will becomeapparent in the following detailed description of the preferredembodiment and the variations thereof with reference to the accompanyingdrawings, of which:

FIG. 1 is a schematic circuit block diagram of a conventional DVD playersystem;

FIG. 2 is a schematic circuit block diagram of another conventional DVDplayer system;

FIG. 3 is a schematic circuit block diagram illustrating a bitstreamdemultiplexing operation in the conventional DVD player system of FIG.2;

FIG. 4 is a schematic circuit block diagram illustrating the preferredembodiment of an optical disc player system according to the presentinvention;

FIG. 5 is a flow chart illustrating a method of controlling a decodingunit in the preferred embodiment to read encoded bitstream data from abuffer memory;

FIG. 6 is a schematic circuit block diagram of an optical disc playersystem according to another embodiment of the present invention; and

FIG. 7 is a schematic circuit block diagram of an optical disc playersystem according to another embodiment of the present invention.

DETAILED DESCRIPTION

Referring to FIG. 4, the preferred embodiment of an optical disc playersystem 3, such as a DVD player, according to the present invention isshown to include a buffer memory 33, a header scanning controller 34, adecoding unit 32, and a reading pointer recorder 35.

The buffer memory 33, such as a track buffer, stores encoded bitstreamdata that is read by a disc reading module 31 from an optical disc (notshown) and that is error-corrected by a channel decoder 30. The encodedbitstream data is divided into a plurality of sectors, each of whichincludes a data portion, and a header portion for indicating a bitstreamtype of the data portion. The header portion includes a sector ID, apack header and a packet header.

The header scanning controller 34 is connected to the buffer memory 33via a memory interface 36.

The decoding unit 32 is connected to the header scanning controller 34,and includes a channel decoder 321 and a set of different data decoders322 including audio decoder 322A, video decoder 322B, sub-picturedecoder 322C, and navigation decoder 322D. Each of the data decoder isused to decode data with a specific bitstream type. Each of the datadecoders 322A, 322B, 322C, 322D is capable of sending a bitstreamrequest for reading encoded bitstream data stored in the buffer memory33 via the header scanning controller 34. In this embodiment, thedecoding unit 32 includes an audio decoder 322A for decoding audio data,a video decoder 322B for decoding video data, a sub-picture decoder322C, and a navigation decoder 322D.

The reading pointer recorder 35 is connected to the header scanningcontroller 34 and stores four reading pointers associated with the datadecoders 322A, 322B, 322C, and 322D. The four reading pointers are audioreading pointer, video reading pointer, sub-picture reading pointer, andnavigation reading pointer respectively.

The header scanning controller 34 reads one of the sectors stored in thebuffer memory 33 according to the reading pointer from the readingpointer recorder 35 that is associated with one of the decoders 322A,322B, 322C, 322D that sent out the bitstream request when the headerscanning controller 34 receives the bitstream request from said one ofthe data decoders 322A, 3228, 322C, 322D.

The header scanning controller 34 transfers the data portion of said oneof the sectors that is being read from the buffer memory 33 to the datadecoder (322A, 322B, 322C, or 322D) that sent out the bitstream requestwhen the header portion of said one of the sectors that is being readfrom the buffer memory 33 indicates a bitstream type corresponding tothat of the bitstream request, and the header scanning controller 34also enables the reading pointer recorder 35 to adjust the readingpointer to point to a next one of the sectors stored in the buffermemory 33 after reading of said one of the sectors has been completed.

Furthermore, the header scanning controller 34 enables the readingpointer recorder 35 to adjust the reading pointer associated with saidone of the decoders 322A, 322B, 322C, 322D that sent out the bitstreamrequest to point to a next one of the sectors stored in the buffermemory 33, and reads the header portion of the next one of the sectorswhen the bitstream type indicated by the header portion of said one ofthe sectors being read from the buffer memory 33 does not correspond tothat of the bitstream request.

For example, when the video decoder 322B sends out a bitstream requestfor video data, the header scanning controller 34 receives the bitstreamrequest, reads the sector which is a video bitstream type (a videosector) according to the video reading pointer of the reading pointerrecorder 35. After the current video sector has been read from thebuffer memory 33, the header scanning controller 34 enables the readingpointer recorder 35 to move the video reading pointer to a next videosector in the buffer memory 33. The similar procedure also applies tothe audio decoder 322A, the sub-picture decoder 322C, and the navigationdecoder 322D.

It is noted that each of the sectors stored in the buffer memory 33 isdefined by the header scanning controller 34 to be in a used state whenthe data portion thereof has been completely read, and to be in anunused state when otherwise. The header scanning controller 34 enablesthe reading pointer recorder 35 to adjust the four reading pointers topoint the next audio sector, next video sector, next sub-picture sector,or next navigation sector in the buffer memory 33 that is in the unusedstate when the bitstream type indicated by the header portion of saidone of the sectors being read from the buffer memory 33 does notcorrespond to that of the current bitstream request.

Referring to FIG. 5, there is shown a flow chart to illustrate how theheader scanning controller 34 controls the decoding unit 32 in theoptical disc player system 3 of the preferred embodiment to read thebitstream data from the buffer memory 33. In step 41, the headerscanning controller 34 determines whether one of the decoders 322A,322B, 322C, 322D sends out the bitstream request. For example, theheader scanning controller 34 detects that the audio decoder 321 sendsout the bitstream request for decoding audio data. In step 42, theheader scanning controller 34 reads one of the sectors stored in thebuffer memory 33 according to a reading pointer that is associated withsaid one of the decoders 322A, 322B, 322C, 322D that sends out thebitstream request (for example, the audio decoder 322A). In step 43, theheader scanning controller 34 determines whether a portion of said oneof the sectors being read from the buffer memory 33 is the headerportion. In step 45, when the portion of said one of the sectors is theheader portion, the header scanning controller 34 determines whether theheader portion of said one of the sectors that is being read from thebuffer memory 33 indicates a bitstream type corresponding to that of thebitstream request. In step 46, the header scanning controller 34transfers the data portion of said one of the sectors that is being readfrom the buffer memory 33 to said one of the decoders 322A, 322B, 322C,322D that sends out the bitstream request (for example, the audiodecoder 322A) upon determining in step 45 that the bitstream typeindicated by the header portion of said one of the sectors correspondsto that of the bitstream request, and enables the reading pointerrecorder 35 to adjust the reading pointer to point to a next one of thesectors stored in the buffer memory 33 after reading of said one of thesectors has been completed. It is noted that, in this case, the readingpointer recorder 35 adjusts the reading pointer to point to the next oneof the sectors stored in the buffer memory 33 that is in the unusedstate. Furthermore, when it is determined in step 43 that the portion ofsaid one of the sectors being read from the buffer memory 33 is not theheader portion, the flow proceeds to step 46. In step 47, the headerscanning controller 34 determines whether the data portion of said oneof the sectors that is being read from the buffer memory 33 has beenread completely. When the data portion of said one of the sectors thatis being read from the buffer memory 33 has yet to be read completely,the flow proceeds back to step 41. In step 48, the header scanningcontroller 34 defines said one of the sectors to be in the used statewhen the data portion of said one of the sectors that is being read fromthe buffer memory 33 has been read completely, and the flow proceedsback to step 41. In step 49, the header scanning controller 34 enablesthe reading pointer recorder 35 to adjust the reading pointer associatedwith said one of the decoders 322A, 322B, 322C, 322D (for example, theaudio decoder 322A) that sends out the bitstream request to point to thenext one of the sectors stored in the buffer memory 33, and reads theheader portion of the next one of the sectors when the bitstream typeindicated by the header portion of said one of the sectors being readfrom the buffer memory 13 is determined in step 45 as not correspondingto that of the bitstream request. The flow then proceeds back to step45. It is noted that, in this case, the reading pointer recorder 35adjusts the reading pointer to point to the next one of the sectorsstored in the buffer memory 33 that is in the unused state. In step 44,when none of the decoders 321, 322, 323, 324 sent out a bitstreamrequest, the header scanning controller 34 determines whether decodingof the decoding unit 32 ends. If no, the flow proceeds back to step 41.

Accordingly, in the optical disc player system 3 of the presentinvention, the header scanning controller 34 can control the decodingunit 32 to read encoded bitstream data from the buffer memory 33 throughthe memory interface 36 such that the buffer memory 33 has a relativelylow memory bandwidth requirement, thereby resulting in relatively lowcosts and power consumption. An object of the invention is thus met.

FIG. 6 is a schematic circuit block diagram of an optical disc playersystem 6 according to another embodiment of the present invention. Theoptical disc player system 6 includes the disc reading module 31mentioned above. The optical disc player system 6 further includes achannel decoder 60 for generating encoded bitstream data S2 according toan optical disc readout signal S1 generated by the disc reading module31. In this embodiment, the channel decoder 60 is a composite module 60including the following components (not shown): a DVD/CD digital signalprocessor (DSP) for decoding the optical disc readout signal S1; aDVD/CD servo controller for performing servo control while the opticaldisc player system 4 accessing the optical disc; and a DVD/CD errorcorrection code (ECC) decoder for performing ECC correction to generatethe encoded bitstream data S2.

As shown in FIG. 6, the optical disc player system 6 further includes abuffer memory 63 for storing the encoded bitstream data S2. The encodedbitstream data is divided into a plurality of sectors, each of whichincludes a data portion, and a header portion for indicating a bitstreamtype of the data portion. Wherein, the header portion includes a sectorID, a pack header and a packet header. The optical disc player system 6further includes: a memory interface 66; a header scanning controller 64coupled to the buffer memory 63 via the memory interface 66 for scanningthe header portion and accessing the encoded bitstream data stored inthe buffer memory 63; and a bitstream demultiplexer 65 coupled to theheader scanning controller 64 for rearranging the encoded bitstream datastored in the buffer memory 63 according to the bitstream type forcontinuously storing sectors corresponding to the same bitstream type inthe same region within the buffer memory 63.

Please note, the header scanning controller 64 of this embodiment is asimplified variation of the header scanning controller 34 shown in FIG.4 since the header scanning controller 64 does not need an additionalcomponent such as the reading pointer recorder 35 shown in FIG. 4 whilethe bitstream demultiplexer 65 is rearranging the encoded bitstream datastored in the buffer memory 63. As the header scanning controller 64 iscapable of scanning the header portion to determine the bitstream typeof the corresponding data portion, the bitstream demultiplexer 65 doesnot need to read a data portion of an unwanted bitstream type. Thebitstream demultiplexer 65 simply reads data of a specific bitstreamtype and continuously store the data of the specific bitstream type in aspecific region within the buffer memory 63. As a result, the memorybandwidth between the bitstream demultiplexer 65 and the buffer memory63 is saved.

The optical disc player system 6 further includes a decoding unit 62coupled to the buffer memory 63. In this embodiment, the decoding unit62 is a MPEG decoding unit 62 including an audio decoder 62A fordecoding audio data, a video decoder 62B for decoding video data, asub-picture decoder 62C, and a navigation decoder 62D. Each of thedecoders 62A, 62B, 62C, and 62D is used to decode data with a specificbitstream type and is capable of reading encoded bitstream data storedin the buffer memory 63 by direct memory access (DMA). Please note, thechannel decoder 60, the decoding unit 62, the bitstream demultiplexer65, and the header scanning controller 64 are integrated into a singlechip 602.

FIG. 7 is a schematic circuit block diagram of an optical disc playersystem 7 according to another embodiment of the present invention. Theembodiment shown in FIG. 7 is similar to the embodiment shown in FIG. 6with exceptions described as follows. As shown in FIG. 7, the headerscanning controller 74 of this embodiment is a Central Processing Unit(CPU) 74 executing a specific program code 74 c, and the channel decoder60, the decoding unit 62, and the bitstream demultiplexer 75 areintegrated into a single chip 702.

While the present invention has been described in connection with whatis considered the most practical and preferred embodiment, it isunderstood that this invention is not limited to the disclosedembodiments but is intended to cover various arrangements includedwithin the spirit and scope of the broadest interpretation so as toencompass all such modifications and equivalent arrangements.

Those skilled in the art will readily observe that numerousmodifications and alterations of the device and method may be made whileretaining the teachings of the invention. Accordingly, the abovedisclosure should be construed as limited only by the metes and boundsof the appended claims.

1. A data processing apparatus for decoding a bitstream, comprising: achannel decoder for generating an encoded bitstream data from a receivedchannel data and storing the encoded bitstream data to a buffer, whereinthe encoded bitstream contains a plurality types of sectors; ademultiplexer for rearranging the stored encoded bitstream dataaccording to the plurality of types and storing sectors corresponding tothe same bitstream type in respective regions in the buffer; and aplurality of decoders for decoding the sectors corresponding to thebitstream types, the decoders retrieving the rearranged data from thebuffer according to corresponding one of the plurality of types.
 2. Thedata processing apparatus as claimed in claim 1, wherein the dataprocessing apparatus is a integrated single chip.
 3. The data processingapparatus as claimed in claim 1, wherein the decoders retrieving therearranged data from the buffer by direct memory access (DMA).
 4. Thedata processing apparatus as claimed in claim 1, wherein the channeldecoder corrects error of the received channel data so as to generatethe encoded bitstream data.
 5. A method for decoding a bitstream,comprising the following steps: (a) generating an encoded bitstream datafrom a received channel data and storing the encoded bitstream data to abuffer, wherein the encoded bitstream contains a plurality types ofsectors; (b) rearranging the stored encoded bitstream data according tothe plurality of types and storing sectors corresponding to the samebitstream type in respective regions in the buffer; (c) retrieving therearranged data from the buffer according to corresponding one of theplurality of types; and (d) decoding the sectors corresponding to thebitstream types by a plurality of decoders.
 6. The method as claimed inclaim 5, wherein the step (c) further comprises: retrieving therearranged data from the buffer by direct memory access (DMA).
 7. Themethod as claimed in claim 5, wherein the step (a) further comprises:generating the encoded bitstream data by correcting error of thereceived channel data.